#include <stdio.h>  
#include <string.h>  
#include <stdbool.h>  
  
void findPrime(int n) {  
    bool isPrime[n + 1];  
    memset(isPrime, true, sizeof(isPrime));  //初始化数组全为真
    isPrime[0] = isPrime[1] = false;  
    for (int i = 2; i * i <= n; ++i) {  
        if (isPrime[i]) {  
            for (int j = i * i; j <= n; j += i) {  
                isPrime[j] = false;  
            }  
        }  
    }  
    for (int i = 2; i <= n; ++i) {  
        if (isPrime[i]) {  
            printf("%d\n", i);  
        }  
    }  
}  
  
int main() {  
    int n;  
    scanf("%d", &n);  
    findPrime(n);  
    return 0;  
}